Ana içeriğe geç

Electronic Rights Transfer Protocol (ERTP)

Electronic Rights Transfer Protocol (ERTP), dijital varlıkların güvenli transferi için bir protokoldür. Farklı dijital varlık sistemleri arasında uyumluluğu sağlayarak, dijital varlıkların tanımlanması ve transfer edilmesi için ortak bir çerçeve sunmaktadır. ERTP, blok zinciri üzerinde dijital varlıkların nasıl oluşturulacağı, temsil edileceği ve transfer edileceği için bir dizi kural belirler.

ERTP'nin temelinde, dijital varlıkların davranışını tanımlayan bir dizi arayüz bulunur. Bu arayüzler şunları içerir:

  1. Issuer interface: Bu arayüz, dijital bir varlık ihraç etmek isteyen bir kuruluş tarafından uygulanabilir. Bu arayüz, bir varlık için toplam arzı belirler ve gerekli koşulları tanımlar. Örneğin:
export default harden({
make(terms) {
return Far('issuer', {
getTerms: () => terms,
getTokenIssuer: () => terms.tokenIssuer,
getAssetKind: () => terms.assetKind,
makeEmptyPurse,
issue,
});
},
getInterfaceNames: () => ['issuer'],
});
  1. Mint interface: Bu arayüz, yeni dijital varlıkların oluşturulmasını sağlar ve bir varlığın ilk arzını gerçekleştirir. Örneğin:
export default harden({
makeIssuerKit(name = 'unknown') {
const brand = makeBrand(name);
const tokenIssuer = Issuer(brand, `${name} purse`);
const amountMath = makeLocalAmountMath(tokenIssuer.getAmountOf);

/* ... */

return Far('issuerKit', {
mintInitialValues,
issuer: tokenIssuer,
amountMath,
brand,
});
},
getInterfaceNames: () => ['mint'],
});
  1. Asset interface: Bu arayüz, bir varlığın temsil edilmesini ve saklanmasını tanımlar. Örneğin:
export default function makeLocalAmountMath(getAmount) {
function assertAmount(amount) {
assert(
getAmount().brand === amount.brand,
`brands must match ${getAmount().brand} vs ${amount.brand}`,
);
}

return harden({
getIssuer: () => getAmount().issuer,
make: (value, brand = getAmount().brand) => {
const amount = Amount(value, brand);
assertAmount(amount);
return amount;
},
coerce: amount => {
assertAmount(amount);
return amount;
},
getValue: amount => {
assertAmount(amount);
return amount.value;
},
getBrand: () => getAmount().brand,
getAmountOf,
add,
subtract,
multiplyBy,
divideBy,
});
}
  1. Payment: Ödeme arayüzü, bir taraftan diğerine dijital varlıkların nasıl aktarıldığını tanımlar. Örneğin:
export default function wrap(digitalAsset = undefined) {
const erc20 = digitalAsset || standardERC20;

return Far('payment', {
getAssetKind: () => erc20.getAssetKind(),
getAmount: issuerPurse => erc20.getAmountMath().coerce(issuerPurse),
updateAmount: (issuerPurse, newAmount) => {
throw Error(`not implemented`);
},
burnForUnits: (issuerPurse, unitsToBurn) =>
erc20.burnExactly(issuerPurse, unitsToBurn),
makePayment: (amount, destinationPurse) => {
const amountUnits = erc20.getAmountMath().getAmountOf(amount);
return Promise.resolve(
erc20.transfer(destinationPurse, amountUnits),
);
},
});
}
  1. Purse: Cüzdan arayüzü, kullanıcıların dijital varlıklarını nasıl sakladıklarını ve yönettiklerini tanımlar. Örneğin:
export default function makeLocalAmountMath(getAmount) {
function assertAmount(amount) {
assert(
getAmount().brand === amount.brand,
`brands must match ${getAmount().brand} vs ${amount.brand}`,
);
}

return harden({
getIssuer: () => getAmount().issuer,
make: (value, brand = getAmount().brand) => {
const amount = Amount(value, brand);
assertAmount(amount);
return amount;
},
coerce: amount => {
assertAmount(amount);
return amount;
},
getValue: amount => {
assertAmount(amount);
return amount.value;
},
getBrand: () => getAmount().brand,
getAmountOf,
add,
subtract,
multiplyBy,
divideBy,
});
}

Bu arayüzler birlikte, dijital varlıkların oluşturulması, aktarılması, depolanması ve yönetimi için blok zincirinde kullanılır. ERTP üzerine inşa edilen uygulamalar, bu arayüzleri kullanarak kendi dijital varlıklarını tanımlayabilir ve bunların transferi ve yönetimine özgü iş mantığı uygulayabilirler.

ERTP'nin en önemli avantajlarından biri esnekliğidir. ERTP, geliştiricilerin kendi dijital varlıklarını tanımlamasına ve bunların transferi ve yönetimi için kuralları özelleştirmesine olanak tanır. Bu, kripto para birimleri, jetonlar ve diğer dijital varlık türleri de dahil olmak üzere çeşitli dijital varlık uygulamalarının oluşturulmasını mümkün kılar.

Genel olarak, ERTP, birden fazla platform ve ağda kullanılabilen, güvenli ve ölçeklenebilir dijital varlık sistemleri oluşturmak için güçlü bir araçtır.